home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS069.dsk / BLACKJACK STRATEGY.bas next >
BASIC Source File  |  2012-02-16  |  8KB  |  162 lines

  1. 0  TEXT 
  2. 1  REM  *** BLACKJACK BASIC STRATEGY ***
  3. 2  REM  *** BY JERRY HOWARD AS FOUND IN KILOBAUD MICROCOMPUTING SEP 1979
  4. 3  REM  *** ADAPTED FOR THE APPLE II BY ROBERT J. MATTSON
  5. 4  GOTO 20
  6. 5  PRINT : PRINT : PRINT : INPUT " PRESS RETURN TO CONTINUE";Q$: RETURN 
  7. 6  HOME : VTAB 5: RETURN 
  8. 7  REM  *** HERE ARE ALL THE PRACTICE TABLES: 
  9. 8  REM  ** THIS DATA IS A BIT OF A DRAG TO TYPE IN, BUT IT SAVES MANY HOURS IN LEARNING THE STRATEGY !
  10. 9  REM  ** READ KEYBOARD **
  11. 10 NUM = 0:NUM =  PEEK( -16384): IF NUM <128  THEN 10
  12. 11  POKE  -16368,0: RETURN 
  13. 12  FOR T = 1 TO 3000: NEXT : RETURN 
  14. 20  DATA   15,9,H,13,5,S,16,8,H,12,4,S,15,2,S,16,5,S,A7,7,S
  15. 21  DATA 15,A,H,13,6,S,16,2,S,12,5,S,15,8,H,14,5,S,A7,A,S
  16. 25  DIM X(20),A$(20),B$(20),C$(20)
  17. 30  DATA 16,9,H,14,7,H,16,10,H,12,6,S,15,10,H,13,3,S,A7,8,S
  18. 40  DATA 15,5,S,A4,8,H,16,A,H,12,2,H,15,7,H,13,4,S,A7,10,H
  19. 50  DATA 14,10,H,16,6,S,14,5,S,12,3,H,13,A,H,13,2,S,A7,9,H
  20. 60  DATA 14,6,S,13,10,H,16,3,S,16,7,H,14,9,H
  21. 70  DATA  14,6,S,77,10,S,N,N,N
  22. 74  REM  ** THAT WAS THE HIT/STAND TABLE
  23. 75  REM  ** NOW THE DOUBLE DOWN TABLE
  24. 80  DATA  10,4,D,9,7,H,A4,4,D,11,9,D,A2,3,H
  25. 90  DATA A5,6,D,62,4,H,A7,3,D,11,5,D
  26. 100  DATA 10,5,D,9,8,H,A4,3,H,11,10,D,A2,5,D,A6,6,D
  27. 110  DATA 53,5,D,A7,4,D,11,6,D
  28. 120  DATA 10,6,D,9,3,D,A5,3,H,11,A,D,A2,6,D
  29. 130  DATA A6,3,D,62,6,H,A7,5,D,11,7,D
  30. 140  DATA 10,7,D,9,4,D,A4,5,D,11,2,D,A3,3,H,A6,4,D
  31. 150  DATA 53,3,H,A7,6,D,A2,4,D
  32. 160  DATA 10,8,D,9,5,D,A5,4,D,11,3,D,A3,4,D,A6,5,D,62,5,H
  33. 170  DATA A8,3,S,A3,5,D
  34. 180  DATA 10,9,D,9,2,D,A5,5,D,11,4,D,A3,6,D,A6,2,D
  35. 190  DATA  53,6,D,A8,6,D,A4,6,D,N,N,N
  36. 195  REM  ** NEXT THE PAIR SPLITTING TABLE
  37. 200  DATA   99,4,P,44,2,H,77,6,P,66,4,P,22,3,P,33,7,P,99,10,S
  38. 210  DATA 99,5,P,44,3,H,77,7,P,66,5,P,22,4,P,33,8,H,99,A,S
  39. 220  DATA 99,6,P,44,4,H,77,8,H,66,6,P,22,5,P,33,2,H,99,2,P
  40. 230  DATA 99,7,S,44,5,D,77,2,P,66,7,H,22,8,H,33,3,H,99,3,P
  41. 240  DATA 99,8,P,44,6,D,77,3,P,66,2,P,22,7,P,33,4,P,AA,A,P
  42. 250  DATA 99,9,P,88,10,P,77,9,H,55,8,H,22,2,H
  43. 260  DATA  44,7,H,AA,10,P,N,N,N
  44. 265  REM  ** NOW A BIG PRACTICE TABLE
  45. 270  DATA  12,6,S,53,4,H,53,6,D,53,5,D,A7,10,H,44,7,H,62,6,H
  46. 280  DATA AA,3,P,12,2,H,12,4,S,16,2,S,12,3,H,13,2,S,12,5,S
  47. 290  DATA 14,2,S,A2,4,D,A4,3,H,A2,6,D,A4,5,D,A3,5,D,A2,3,H
  48. 300  DATA 10,9,D,73,3,D,64,10,H,55,2,D,82,4,D,73,8,D,64,5,D
  49. 310  DATA 44,6,D,AA,9,P,AA,10,P,AA,2,P,AA,8,P,AA,A,P
  50. 320  DATA 13,8,H,13,6,S,15,5,S,13,3,S,13,5,S,14,4,S,14,6,S
  51. 330  DATA A8,5,S,33,8,H,33,3,H,33,5,P,33,7,P,33,2,H,33,4,P
  52. 340  DATA 33,6,P,A6,2,D,A6,6,D,A4,4,D,A6,4,D,A6,5,D,A7,3,D
  53. 350  DATA A7,2,S,44,4,H, 62,5,H,44,3,H,44,2,H,88,9,P,44,5,D
  54. 360  DATA 13,4,S,16,5,S,14,3,S,14,5,S,15,2,S,15,4,S,15,6,S
  55. 370  DATA A4,6,D,55,7,D,83,9,D,74,A,D,82,6,D,73,A,H,A4,2,H
  56. 380  DATA 65,7,D,22,4,P,22,6,P,22,8,H,22,5,P,22,3,P,22,7,P
  57. 390  DATA 22,2,H,A8,3,S,A3,5,D,A6,3,D,A8,2,S,A8,4,S,A8,6,D
  58. 400  DATA 15,3,S,66,6,P,66,7,H,88,10,P,66,3,P,66,5,P,66,2,P
  59. 410  DATA 66,4,P,63,4,D,54,8,H,72,3,D,63,5,D,54,2,D,72,7,H
  60. 420  DATA 72,6,D,16,8,H,15,7,H,14,8,H,14,7,H,15,8,H,A9,4,S
  61. 430  DATA 53,3,H,A3,3,H,A5,6,D,A5,5,D,A3,4,D,A3,6,D,16,7,H
  62. 440  DATA A5,4,D,15,10,H,16,4,S,16,10,H,16,6,S,14,10,H,74,2,D
  63. 450  DATA 77,2,P,77,4,P,77,6,P,A7,A,S,77,8,H,77,3,P,77,5,P
  64. 460  DATA 99,5,P,83,10,D,13,A,H,15,9,H,16,A,H,16,9,H,A5,3,H
  65. 470  DATA 15,A,H,14,9,H,74,5,D,65,4,D,92,6,D,83,3,D,16,4,S
  66. 480  DATA 92,8,D,99,7,S,99,A,S,99,4,P,99,6,P,99,3,P
  67. 490  DATA A9,5,S,A7,6,D,A9,3,S,A7,4,D,A9,6,S
  68. 495  DATA  83,A,D
  69. 500  DATA  A7,5,D,14,A,H,999,999,999
  70. 540  REM  ** THE PROGRAM STARTS HERE
  71. 550  GOSUB 6: SPEED= 100: PRINT "THIS PROGRAM WILL TEACH YOU BLACKJACK   STRATEGY"
  72. 560  PRINT : PRINT "FIRST A REVEIW OF THE STRATEGY......"
  73. 570  HOME : VTAB 5: PRINT " WHAT YOU DO DEPENDS ON THE DEALER'S UP  CARD, AND ON YOUR HAND (FIRST 2 CARDS)"
  74. 580  PRINT : PRINT " WHEN THE DEALER HAS 7,8,9,10, OR ACE    SHOWING"
  75. 590  PRINT : PRINT " HIT UNTIL YOU GET 17 OR ABOVE."
  76. 598  GOSUB 5
  77. 610  HOME : VTAB 5: PRINT "IF THE DEALER HAS 2,3,4,5, OR 6 SHOWING"
  78. 620  PRINT : PRINT " YOU STAND IF YOU HAVE 13 OR ABOVE"
  79. 630  PRINT : PRINT : PRINT : PRINT " HIT 12 IF DEALER HAS A 2 OR 3"
  80. 640  GOSUB 5
  81. 650  GOSUB 6: PRINT " NOW I WILL TELL YOU WHEN TO DOUBLE DOWN"
  82. 660  PRINT : PRINT : PRINT "DOUBLE DOWN WHEN YOU HAVE 11, ALWAYS!!": PRINT : PRINT 
  83. 670  PRINT "DOUBLE WHEN YOU HAVE:  & THE DEALER HAS:"
  84. 680  PRINT : PRINT "     10         ANYTHING EXCEPT 10 OR A       9              2 THROUGH 6"
  85. 690  PRINT "      8 (EXCEPT 6,2)    5 OR 6          A2 THROUGH A5          4,5 OR 6 "
  86. 700  PRINT "     A6              2 THROUGH 6             A7              3 THROUGH 6             A8                   6"
  87. 715  GOSUB 5
  88. 716  GOSUB 6: INVERSE : PRINT " NOTE :";: NORMAL : PRINT " WHEN YOU CAN'T DOUBLE DOWN"
  89. 717  PRINT : PRINT "ON YOUR 'SOFT' HANDS.  DO AS FOLLOWS:"
  90. 718  PRINT : PRINT : PRINT "A2,A3,A4,A5,A6   HIT IF YOU CAN'T DOUBLE"
  91. 719  PRINT "A7   STAND IF DEALER HAS 2,7,8, OR A"
  92. 720  PRINT : PRINT "A7   HIT IF DEALER HAS 9 OR 10"
  93. 721  PRINT : PRINT "A8          STAND"
  94. 722  GOSUB 5
  95. 724  GOSUB 6: PRINT "NOW I'LL SHOW YOU WHEN TO SPLIT PAIRS": PRINT 
  96. 725  PRINT : PRINT " ALWAYS SPLIT ACES (AA) AND EIGHTS (88)"
  97. 727  PRINT : PRINT " NEVER SPLIT 44, 55, OR 10 10"
  98. 730  PRINT : PRINT : PRINT "  SPLIT    AGAINST    DEALER'S CARD"
  99. 732  PRINT : PRINT "   22                  3 THROUGH 7         33                  4 THROUGH 7"
  100. 735  PRINT "   66                  2 THROUGH 6         77                  2 THROUGH 7"
  101. 737  PRINT "   99           2 THROUGH 9 (EXCEPT 7)"
  102. 740  GOSUB 5: GOSUB 6: PRINT "WHEN YOU PLAY BLACK JACK FOLLOW THE     ABOVE RULES ",
  103. 745  INVERSE : PRINT " COMPLETELY !! "
  104. 747  PRINT : PRINT "  D O N ' T  FOLLOW HUNCHES ! ! ! "
  105. 750  PRINT : PRINT "  AND  N E V E R  TAKE INSURANCE ! ! ! ": NORMAL : GOSUB 5
  106. 751  GOSUB 6: PRINT " DO YOU WANT TO REVIEW THE RULES (Y/N)?": GOSUB 10: IF NUM = 217  THEN 550
  107. 765  GOSUB 6: PRINT " NOW FOR THE HARD PART...!!"
  108. 810  PRINT : INPUT "ENTER A NUMBER BETWEEN 1 AND 50";R: IF R <1  OR R >50  THEN  PRINT "TRY AGAIN!!": GOTO 810
  109. 825  REM  ** R IS USED TO INITIALIZE THE RANDOM # GENERATOR
  110. 830  HOME : VTAB 2: PRINT "  ANSWER AS FOLLOWS:  ": PRINT 
  111. 840  PRINT " 'H' =  HIT          'S' =  STAND        'D' =  DOUBLE DOWN  'P' =  SPLIT PAIRS  'T' =  TELL ME      'R' =  RULES        'B' =  'BYE' IF YOU WANT TO STOP"
  112. 850  PRINT : PRINT "YOUR HAND","DEALER SHOWS","YOU PLAY"
  113. 860  POKE 34,10
  114. 2000  REM  ** RANDOMIZE INDEX **
  115. 2001  FOR I = 1 TO R:Z =  RND(0): NEXT 
  116. 2020  FOR I = 1 TO 20:X(I) = I: NEXT 
  117. 2025  REM  ** THE QUESTIONS ARE ASKED IN GROUPS OF 20 AND RANDOMIZED WITHIN THAT GROUP.  THEREFORE EVERY RUN IS DIFFERENT
  118. 2030  FOR J = 1 TO 19
  119. 2040 Y =  INT( RND(1) *(21 -J)) +J
  120. 2050 T = X(J):X(J) = X(Y):X(Y) = T
  121. 2060  NEXT 
  122. 2500  FOR L = 1 TO 20
  123. 2502  REM  ** A$(L) = PLAYERS HAND
  124. 2504  REM  ** B$(L) = DEALER'S UP CARD
  125. 2506  REM  ** C$(L) = CORRECT PLAY
  126. 2510  READ A$(L),B$(L),C$(L)
  127. 2515  REM  ** COMING TO THE END OF THE TABLE ?
  128. 2520  IF A$(L) = "N"  THEN M = L -1: GOTO 6000
  129. 2525  REM  ** COMING TO THE END OF ALL TABLES ?
  130. 2530  IF A$(L) = "999"  THEN 6000
  131. 2560  NEXT 
  132. 3000  FOR I = 1 TO 20
  133. 3010 M = X(I)
  134. 3040  HOME : PRINT  TAB( 6)A$(M),B$(M),"? ";: GOSUB 10:Q$ =  CHR$(NUM -128): PRINT Q$
  135. 3050  IF Q$ = "B"  THEN 9000
  136. 3055  IF Q$ = "R"  THEN  TEXT : SPEED= 255: GOTO 560
  137. 3060  IF Q$ = "T"  THEN 3100
  138. 3070  IF Q$ = C$(M)  THEN 3120
  139. 3080  PRINT : PRINT "WITH ";A$(M);" VS ";B$(M);" YOU ";C$(M)
  140. 3090  GOSUB 12: GOTO 3040
  141. 3099  REM  ** TELL THE ANSWER
  142. 3100  PRINT : PRINT " THE ANSWER IS '";C$(M);"'": GOSUB 12
  143. 3110  GOTO 3040
  144. 3120  NEXT 
  145. 6000  FOR J = 1 TO M
  146. 6005  IF A$(J) = "999"  THEN 9000
  147. 6010  HOME : PRINT  TAB( 6)A$(J),B$(J),"? ";: GOSUB 10:Q$ =  CHR$(NUM -128): PRINT Q$
  148. 6020  IF Q$ = "B"  THEN 9000
  149. 6025  IF Q$ = "R"  THEN 3055
  150. 6030  IF Q$ = "T"  THEN 6070
  151. 6040  IF Q$ = C$(J)  THEN 6090
  152. 6050  PRINT : PRINT " NOPE, IT IS ";C$(J)
  153. 6060  GOSUB 12: GOTO 6010
  154. 6070  PRINT : PRINT " THE ANSWER IS ";C$(J)
  155. 6080  GOSUB 12: GOTO 6010
  156. 6090  NEXT 
  157. 6100  PRINT : PRINT " VERY GOOD ... ON TO THE NEXT TABLE"
  158. 6110  GOTO 2500
  159. 9000  TEXT : SPEED= 100: GOSUB 6: PRINT "THAT WAS GOOD! IF YOU ARE READY FOR     SOME MORE TYPE 'RUN'  ...ANYTIME!"
  160. 9010  FLASH : PRINT : PRINT : PRINT " I ONLY WANT 10 % OF YOUR WINNINGS ! ! !": NORMAL : PRINT : PRINT " THAT'S REASONABLE, ISN'T IT ?"
  161. 9910  SPEED= 255
  162. 9999  END